Image scaling may be used to resize an image, such as an image captured by an image capture device included in a user's phone, stand-alone camera, or even an image created by a user using image editing software. This may include upscaling an image to increase a number of pixels used to represent the image. Likewise, downscaling may involve reducing a number of pixels used to represent an image.
Upscaling an image, however, may involve a trade-off between a variety of different factors, such as smoothness and sharpness. As the size of an image is increased, for instance, pixels used to represent the image may have increased visibility and therefore lose the smoothness and sharpness that are apparent to the image before upscaling. Conventional techniques that are utilized to address these problems, however, may result in blurred image edges and textures and therefore generate a result that is undesirable to the user.